<?php  
class ControllerModuleBuscador extends Controller {
	protected function index() {
// 		$this->load->model('catalog/product');
		$this->load->model('catalog/product');
		$this->load->model('catalog/category');
		
        
		
		$this->document->addScript('catalog/view/javascript/jquery/tabs.js');
		$this->document->addScript('catalog/view/javascript/buscador.js');
		$this->document->addScript('catalog/view/theme/default/buscador/script.js');
		$this->document->addStyle('catalog/view/theme/default/buscador/styleBuscador.css');
		
		

		
		$this->data['anios'] = $this->model_catalog_product->obtenerAnios(); //Llena selector con catalogo de años
		
		 
		// Tipos de producto
		$this->data['tipos_productos'] = array();
			
		$tipos_productos = $this->model_catalog_category->getCategories(0);
		
		//echo $tipos_productos;
		
		foreach ($tipos_productos as $tipo_producto) {
				
		  if($tipo_producto['top'] == 1){
		  	 
		  	$this->data['tipos_productos'][] = array(
		  			'category_id' => $tipo_producto['category_id'],
		  			'name'        => $tipo_producto['name']
		  	
		  	);
		  }
			
		}
	
		
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/buscador.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/buscador.tpl';
		} else {
			$this->template = 'default/template/module/buscador.tpl';
		}
		
		$this->render();
  	}
  	
  	
  	public function busquedaAvanzadaProducto(){
  		
  		
  		//Validacion del formulario y obtencion de los parametros de busqueda
  		
  		$this->language->load('product/category');
  		$this->load->model('catalog/category'); 
  		$this->load->model('catalog/product');
  		$this->load->model('tool/image');
  		
  		//Ruta del filtro de busqueda
  		$ruta = '';
  		$json = array();
  		
  		if (isset($this->request->get['tipo_producto'])) {
			$tipo_producto = $this->request->get['tipo_producto'];
			$ruta = $this->request->get['tipo_producto'];
  		} else {
  			$tipo_producto = '';
  		}
  			
  			
  		
  		//Busqueda por Subcategoria
  		if (isset($this->request->get['marcaSubcategoria']) && !empty($this->request->get['marcaSubcategoria'])) {
  			$marcaSubcategoria = $this->request->get['marcaSubcategoria'];
  			$ruta .= '_' . $this->request->get['marcaSubcategoria'];
  		}else{
  			$marcaSubcategoria='';
  		}
  		//Filtro de Marca
  		if (isset($this->request->get['marcaProducto']) && !empty($this->request->get['marcaProducto'])) {
  			$marcaProducto = $this->request->get['marcaProducto'];
  			$ruta .= '_' . $this->request->get['marcaProducto'];
  		}else{
  			$modeloProducto='';
  		}
  		//Filtro de Modelo 
  		if (isset($this->request->get['modeloProducto']) && !empty($this->request->get['modeloProducto'])) {
  			//echo 'entro aqui por el select con cero ';
  			$modeloProducto = $this->request->get['modeloProducto'];
  			$ruta .= '_' . $this->request->get['modeloProducto'];
  		}else{
  			$modeloProducto='';
  		}
  		
  		//Filtro por Año
  		if (isset($this->request->get['anioMin']) && !empty($this->request->get['anioMin'])) {
  			$anioMin = $this->request->get['anioMin'];
  		}else{
  			$anioMin='';
  		}
  		if (isset($this->request->get['anioMax']) && !empty($this->request->get['anioMax'])) {
  			$anioMax = $this->request->get['anioMax'];
  		}else{
  			$anioMax='';
  		}
  		//Filtro por precio
  		if (isset($this->request->get['precioMin']) && !empty($this->request->get['precioMin'])) {
  			$precioMin = $this->request->get['precioMin'];
  		}else{
  			$precioMin='';
  		}
  		if (isset($this->request->get['precioMax']) && !empty($this->request->get['precioMax'])) {
  			$precioMax = $this->request->get['precioMax'];
  		}else{
  			$precioMax='';
  		}
     	
  		if (isset($this->request->get['page'])) {
  			$page = $this->request->get['page'];
  		} else {
  			$page = 1;
  		}
  		
  		if (isset($this->request->get['limit'])) {
  			$limit = $this->request->get['limit'];
  		} else {
  			$limit = $this->config->get('config_catalog_limit');
  		}
  		
  		
  		//Verificar errores  en el formulario
  		
  		//Tiene que elegir un tipo de producto
  		
//   		if ( empty($this->request->get['tipo_producto'])) {
//   			$json['errores']['error_tipo_producto'] = 'Debes elegir un tipo de producto';
//   		}
  		
//   		if (!empty($this->request->get['tipo_producto']) &&  empty($this->request->get['marcaSubcategoria']) ) {
//   			$json['errores']['error_tipo_producto'] = 'Debes elegir una Subcategoria';
//   			//echo 'Debes elegir una Subcategoria';
//   		}
  		
//   		if (empty($json['errores'])) {
//   			//Hacer lo demas para hacer la busqueda
//   		}
  		
		//Pone la migaja en el home
  		
  	   $this->data['breadcrumbs'] = array();

   		$this->data['breadcrumbs'][] = array(
       		'text'      => $this->language->get('text_home'),
			'href'      => $this->url->link('common/home'),
       		'separator' => false
   		);	

   		
		if (isset($this->request->get['path'])) {
			
// 			echo "ya contiene en la URL  parametro PATH = ". $this->request->get['path'];
					
			$url = '';
			

			if (isset($this->request->get['tipo_producto'])) {
				$url .= '&tipo_producto='.$this->request->get['tipo_producto'];
			
			}
			//Busqueda por Subcategoria
			if (isset($this->request->get['marcaSubcategoria'])) {
				$url .= '&marcaSubcategoria='.$this->request->get['marcaSubcategoria'];
			}
			
			//Filtro de Marca
			if (isset($this->request->get['marcaProducto'])) {
				$url .= '&marcaProducto='.$this->request->get['marcaProducto'];
			}
			
			//Filtro de Modelo
			if (isset($this->request->get['modeloProducto'])) {
				//echo 'entro aqui por el select con cero ';
				$url .= '&modeloProducto='.$this->request->get['modeloProducto'];
			
			}
				
			//Filtro por Año
			if (isset($this->request->get['anioMin'])) {
				$url .= '&anioMin='.$this->request->get['anioMin'];
			}
			if (isset($this->request->get['anioMax'])) {
				$url .= '&anioMax='.$this->request->get['anioMax'];
			}
			//Filtro por precio
			if (isset($this->request->get['precioMin'])) {
				$url .= '&precioMin'.$this->request->get['precioMin'];
			}
			if (isset($this->request->get['precioMax'])) {
				$url .= '&precioMax'.$this->request->get['precioMax'];
			}
			
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
									
			$path = '';
		
			$parts = explode('_', (string)$this->request->get['path']);
		
			$category_id = (int)array_pop($parts);
		
				//Crea las migajitas para cada categoria, y saber en donde estamos ubicados en la pagina
			foreach ($parts as $path_id) {
				if (!$path) {
					$path = (int)$path_id;
				} else {
					$path .= '_' . (int)$path_id;
				}
									
				$category_info = $this->model_catalog_category->getCategory($path_id);
				
				if ($category_info) {
	       			$this->data['breadcrumbs'][] = array(
   	    				'text'      => $category_info['name'],
						'href'      => $this->url->link('module/buscador/busquedaAvanzadaProducto', 'path=' . $path . $url),
        				'separator' => $this->language->get('text_separator')
        			);
				}
			}
		} else {
			$url = '';
			if (isset($this->request->get['tipo_producto'])) {
				$url .= '&tipo_producto='.$this->request->get['tipo_producto'];
					
			}
			//Busqueda por Subcategoria
			if (isset($this->request->get['marcaSubcategoria'])) {
				$url .= '&marcaSubcategoria='.$this->request->get['marcaSubcategoria'];
			}
				
			//Filtro de Marca
			if (isset($this->request->get['marcaProducto'])) {
				$url .= '&marcaProducto='.$this->request->get['marcaProducto'];
			}
				
			//Filtro de Modelo
			if (isset($this->request->get['modeloProducto'])) {
				//echo 'entro aqui por el select con cero ';
				$url .= '&modeloProducto='.$this->request->get['modeloProducto'];
					
			}
			
			//Filtro por Año
			if (isset($this->request->get['anioMin'])) {
				$url .= '&anioMin='.$this->request->get['anioMin'];
			}
			if (isset($this->request->get['anioMax'])) {
				$url .= '&anioMax='.$this->request->get['anioMax'];
			}
			//Filtro por precio
			if (isset($this->request->get['precioMin'])) {
				$url .= '&precioMin'.$this->request->get['precioMin'];
			}
			if (isset($this->request->get['precioMax'])) {
				$url .= '&precioMax'.$this->request->get['precioMax'];
			}
				
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
			
			//Aqui podria repetir el codigo para obtener category_id y setear 
			$parts = explode('_', (string)$ruta);
			//var_dump($parts);
			$path = '';
			 
			$category_id = (int)array_pop($parts);
			
			foreach ($parts as $path_id) {
				if (!$path) {
					$path = (int)$path_id;
				} else {
					$path .= '_' . (int)$path_id;
				}
					
				$category_info = $this->model_catalog_category->getCategory($path_id);
			
				if ($category_info) {
					$this->data['breadcrumbs'][] = array(
							'text'      => $category_info['name'],
							'href'      => $this->url->link('module/buscador/busquedaAvanzadaProducto', 'path=' . $path . $url),
							'separator' => $this->language->get('text_separator')
					);
				}
			}
			
			
			//$category_id = 0;
		}
				
		$category_info = $this->model_catalog_category->getCategory($category_id);
	
		if ($category_info) {
	  		$this->document->setTitle($category_info['name']);
			$this->document->setDescription($category_info['meta_description']);
			$this->document->setKeywords($category_info['meta_keyword']);
			$this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js');
			$this->document->addScript('catalog/view/javascript/jquery/jquery.msgBox.js');
			$this->document->addScript('catalog/view/javascript/ajaxs.js');
			$this->document->addStyle('catalog/view/javascript/jquery/msnbox/msgBoxLight.css');
			$this->document->addStyle('http://fonts.googleapis.com/css?family=Monda');
			
			$this->data['heading_title'] = $category_info['name'];
			
			$this->data['text_refine'] = $this->language->get('text_refine');
			$this->data['text_empty'] = $this->language->get('text_empty');			
			$this->data['text_quantity'] = $this->language->get('text_quantity');
			$this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
			$this->data['text_model'] = $this->language->get('text_model');
			$this->data['text_price'] = $this->language->get('text_price');
			$this->data['text_tax'] = $this->language->get('text_tax');
			$this->data['text_points'] = $this->language->get('text_points');
			$this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
			$this->data['text_display'] = $this->language->get('text_display');
			$this->data['text_list'] = $this->language->get('text_list');
			$this->data['text_grid'] = $this->language->get('text_grid');
			$this->data['text_sort'] = $this->language->get('text_sort');
			$this->data['text_limit'] = $this->language->get('text_limit');
					
			$this->data['button_cart'] = $this->language->get('button_cart');
			$this->data['button_wishlist'] = $this->language->get('button_wishlist');
			$this->data['button_compare'] = $this->language->get('button_compare');
			$this->data['button_continue'] = $this->language->get('button_continue');
			
			// Set the last category breadcrumb		
			$url = '';
			

			if (isset($this->request->get['tipo_producto'])) {
				$url .= '&tipo_producto='.$this->request->get['tipo_producto'];
				
			}
			//Busqueda por Subcategoria
			if (isset($this->request->get['marcaSubcategoria'])) {
				$url .= '&marcaSubcategoria='.$this->request->get['marcaSubcategoria'];
			}
				
			//Filtro de Marca
			if (isset($this->request->get['marcaProducto'])) {
				$url .= '&marcaProducto='.$this->request->get['marcaProducto'];
			}
				
			//Filtro de Modelo
			if (isset($this->request->get['modeloProducto'])) {
				//echo 'entro aqui por el select con cero ';
				$url .= '&modeloProducto='.$this->request->get['modeloProducto'];
				
			}
			
			//Filtro por Año
			if (isset($this->request->get['anioMin'])) {
				$url .= '&anioMin='.$this->request->get['anioMin'];
			}
			if (isset($this->request->get['anioMax'])) {
				$url .= '&anioMax='.$this->request->get['anioMax'];
			}
			//Filtro por precio
			if (isset($this->request->get['precioMin'])) {
				$url .= '&precioMin'.$this->request->get['precioMin'];
			}
			if (isset($this->request->get['precioMax'])) {
				$url .= '&precioMax'.$this->request->get['precioMax'];
			}
			
			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}
			
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			//echo $this->request->get['path'];
			//echo isset( $this->request->get['path']) ? $this->request->get['path'] : $ruta .' Mi Ruta';
			
			$path = isset( $this->request->get['path']) ? $this->request->get['path'] : $ruta;
			//echo $path;
			
			//Poner migajitas, con la ruta  visitada
			
			$this->data['breadcrumbs'][] = array(
				'text'      => $category_info['name'],
				'href'      => $this->url->link('module/buscador/busquedaAvanzadaProducto', 'path=' . $path),
				'separator' => $this->language->get('text_separator')
			);
								
			if ($category_info['image']) {
				$this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
			} else {
				$this->data['thumb'] = '';
			}
									
			$this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
			$this->data['compare'] = $this->url->link('product/compare');
			
			$url = '';
			
// 			if (isset($this->request->get['filter'])) {
// 				$url .= '&filter=' . $this->request->get['filter'];
// 			}	
						
// 			if (isset($this->request->get['sort'])) {
// 				$url .= '&sort=' . $this->request->get['sort'];
// 			}	

// 			if (isset($this->request->get['order'])) {
// 				$url .= '&order=' . $this->request->get['order'];
// 			}	
			
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
								
			$this->data['categories'] = array();
			
			$results = $this->model_catalog_category->getCategories($category_id);
			
			foreach ($results as $result) {
				$data = array(
					'filter_category_id'  => $result['category_id'],
					'filter_sub_category' => true
				);
				
				$product_total = $this->model_catalog_product->getTotalProducts($data);				
				
				$this->data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
					'href'  => $this->url->link('module/buscador/busquedaAvanzadaProducto', 'path=' .  $path . '_' . $result['category_id'] . $url)
				);
			}
			
			$this->data['products'] = array();
			
			$data = array(
				'filter_category_id' => $category_id,
// 				'filter_filter'      => $filter, 
// 				'sort'               => $sort,
// 				'order'              => $order,
				'anioMin'			 => $anioMin,
				'anioMax'			 => $anioMax,
				'precioMin'			 => $precioMin,
				'precioMax'			 => $precioMax,
				'start'              => ($page - 1) * $limit,
				'limit'              => $limit
			);
					
			$product_total = $this->model_catalog_product->getTotalProducts($data); 
			
			$results = $this->model_catalog_product->getProducts($data);
			
			foreach ($results as $result) {
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
				} else {
					$image = false;
				}
				
				if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
					$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
				} else {
					$price = false;
				}
				
				if ((float)$result['special']) {
					$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
				} else {
					$special = false;
				}	
				
				if ($this->config->get('config_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
				} else {
					$tax = false;
				}				
				
				if ($this->config->get('config_review_status')) {
					$rating = (int)$result['rating'];
				} else {
					$rating = false;
				}
								
				$this->data['products'][] = array(									
					'boton_venta' => $result['boton_venta'],
					'status_precio' => $result['status_precio'] == 1 ? true: false,
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'rating'      => $result['rating'],
					'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
					'href'        => $this->url->link('product/product', 'path=' .  $path . '&product_id=' . $result['product_id'] . $url)
				);
			}
			
			$url = '';
			
// 			if (isset($this->request->get['filter'])) {
// 				$url .= '&filter=' . $this->request->get['filter'];
// 			}
			
			if (isset($this->request->get['tipo_producto'])) {
				$url .= '&tipo_producto='.$this->request->get['tipo_producto'];
			
			}
			//Busqueda por Subcategoria
			if (isset($this->request->get['marcaSubcategoria'])) {
				$url .= '&marcaSubcategoria='.$this->request->get['marcaSubcategoria'];
			}
			
			//Filtro de Marca
			if (isset($this->request->get['marcaProducto'])) {
				$url .= '&marcaProducto='.$this->request->get['marcaProducto'];
			}
			
			//Filtro de Modelo
			if (isset($this->request->get['modeloProducto'])) {
				//echo 'entro aqui por el select con cero ';
				$url .= '&modeloProducto='.$this->request->get['modeloProducto'];
			
			}
				
			//Filtro por Año
			if (isset($this->request->get['anioMin'])) {
				$url .= '&anioMin='.$this->request->get['anioMin'];
			}
			if (isset($this->request->get['anioMax'])) {
				$url .= '&anioMax='.$this->request->get['anioMax'];
			}
			//Filtro por precio
			if (isset($this->request->get['precioMin'])) {
				$url .= '&precioMin'.$this->request->get['precioMin'];
			}
			if (isset($this->request->get['precioMax'])) {
				$url .= '&precioMax'.$this->request->get['precioMax'];
			}
			
				
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
										
// 			$this->data['sorts'] = array();
			
// 			$this->data['sorts'][] = array(
// 				'text'  => $this->language->get('text_default'),
// 				'value' => 'p.sort_order-ASC',
// 				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
// 			);
			
// 			$this->data['sorts'][] = array(
// 				'text'  => $this->language->get('text_name_asc'),
// 				'value' => 'pd.name-ASC',
// 				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url)
// 			);

// 			$this->data['sorts'][] = array(
// 				'text'  => $this->language->get('text_name_desc'),
// 				'value' => 'pd.name-DESC',
// 				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url)
// 			);

// 			$this->data['sorts'][] = array(
// 				'text'  => $this->language->get('text_price_asc'),
// 				'value' => 'p.price-ASC',
// 				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)
// 			); 

// 			$this->data['sorts'][] = array(
// 				'text'  => $this->language->get('text_price_desc'),
// 				'value' => 'p.price-DESC',
// 				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url)
// 			); 
			
// 			if ($this->config->get('config_review_status')) {
// 				$this->data['sorts'][] = array(
// 					'text'  => $this->language->get('text_rating_desc'),
// 					'value' => 'rating-DESC',
// 					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url)
// 				); 
				
// 				$this->data['sorts'][] = array(
// 					'text'  => $this->language->get('text_rating_asc'),
// 					'value' => 'rating-ASC',
// 					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url)
// 				);
// 			}
			
// 			$this->data['sorts'][] = array(
// 				'text'  => $this->language->get('text_model_asc'),
// 				'value' => 'p.model-ASC',
// 				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url)
// 			);

// 			$this->data['sorts'][] = array(
// 				'text'  => $this->language->get('text_model_desc'),
// 				'value' => 'p.model-DESC',
// 				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url)
// 			);
			
			$url = '';
			
			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}
			
			if (isset($this->request->get['tipo_producto'])) {
				$url .= '&tipo_producto='.$this->request->get['tipo_producto'];
			
			}
			//Busqueda por Subcategoria
			if (isset($this->request->get['marcaSubcategoria'])) {
				$url .= '&marcaSubcategoria='.$this->request->get['marcaSubcategoria'];
			}
			
			//Filtro de Marca
			if (isset($this->request->get['marcaProducto'])) {
				$url .= '&marcaProducto='.$this->request->get['marcaProducto'];
			}
			
			//Filtro de Modelo
			if (isset($this->request->get['modeloProducto'])) {
				//echo 'entro aqui por el select con cero ';
				$url .= '&modeloProducto='.$this->request->get['modeloProducto'];
			
			}
				
			//Filtro por Año
			if (isset($this->request->get['anioMin'])) {
				$url .= '&anioMin='.$this->request->get['anioMin'];
			}
			if (isset($this->request->get['anioMax'])) {
				$url .= '&anioMax='.$this->request->get['anioMax'];
			}
			//Filtro por precio
			if (isset($this->request->get['precioMin'])) {
				$url .= '&precioMin'.$this->request->get['precioMin'];
			}
			if (isset($this->request->get['precioMax'])) {
				$url .= '&precioMax'.$this->request->get['precioMax'];
			}
			
				
			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}	

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}
			
			$this->data['limits'] = array();
	
			$limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100));
			
			sort($limits);
	
			foreach($limits as $limits){
				$this->data['limits'][] = array(
					'text'  => $limits,
					'value' => $limits,
					'href'  => $this->url->link('module/buscador/busquedaAvanzadaProducto', 'path=' .  $path . $url . '&limit=' . $limits)
				);
			}
			
			$url = '';
			
			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}
			
			if (isset($this->request->get['tipo_producto'])) {
				$url .= '&tipo_producto='.$this->request->get['tipo_producto'];
			
			}
			//Busqueda por Subcategoria
			if (isset($this->request->get['marcaSubcategoria'])) {
				$url .= '&marcaSubcategoria='.$this->request->get['marcaSubcategoria'];
			}
			
			//Filtro de Marca
			if (isset($this->request->get['marcaProducto'])) {
				$url .= '&marcaProducto='.$this->request->get['marcaProducto'];
			}
			
			//Filtro de Modelo
			if (isset($this->request->get['modeloProducto'])) {
				//echo 'entro aqui por el select con cero ';
				$url .= '&modeloProducto='.$this->request->get['modeloProducto'];
			
			}
				
			//Filtro por Año
			if (isset($this->request->get['anioMin'])) {
				$url .= '&anioMin='.$this->request->get['anioMin'];
			}
			if (isset($this->request->get['anioMax'])) {
				$url .= '&anioMax='.$this->request->get['anioMax'];
			}
			//Filtro por precio
			if (isset($this->request->get['precioMin'])) {
				$url .= '&precioMin'.$this->request->get['precioMin'];
			}
			if (isset($this->request->get['precioMax'])) {
				$url .= '&precioMax'.$this->request->get['precioMax'];
			}
				
			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}	

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}
	
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
					
			$pagination = new Pagination();
			$pagination->total = $product_total;
			$pagination->page = $page;
			$pagination->limit = $limit;
			$pagination->text = $this->language->get('text_pagination');
			$pagination->url = $this->url->link('module/buscador/busquedaAvanzadaProducto', 'path=' . $path . $url . '&page={page}');
		
			$this->data['pagination'] = $pagination->render();
		
// 			$this->data['sort'] = $sort;
// 			$this->data['order'] = $order;
			$this->data['limit'] = $limit;
		
			$this->data['continue'] = $this->url->link('common/home');

			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/buscador_resultado.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/module/buscador_resultado.tpl';
			} else {
				$this->template = 'default/template/module/buscador_resultado.tpl';
			}
			
			$this->children = array(
				'common/column_left',
				'common/column_right',
				'common/content_top',
				'common/content_bottom',
				'common/footer',
				'common/header'
			);
				
			$this->response->setOutput($this->render());										
    	} else {
			$url = '';
			
			if (isset($this->request->get['path'])) {
				$url .= '&path=' . $this->request->get['path'];
			}
			
			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}
												
			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}	

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}
				
			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}
						
			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
						
			$this->data['breadcrumbs'][] = array(
				'text'      => $this->language->get('text_error'),
				'href'      => $this->url->link('product/category', $url),
				'separator' => $this->language->get('text_separator')
			);
				
			$this->document->setTitle($this->language->get('text_error'));

      		$this->data['heading_title'] = $this->language->get('text_error');

      		$this->data['text_error'] = $this->language->get('text_error');

      		$this->data['button_continue'] = $this->language->get('button_continue');

      		$this->data['continue'] = $this->url->link('common/home');

			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
			} else {
				$this->template = 'default/template/error/not_found.tpl';
			}
			
			$this->children = array(
				'common/column_left',
				'common/column_right',
				'common/content_top',
				'common/content_bottom',
				'common/footer',
				'common/header'
			);
					
			$this->response->setOutput($this->render());
		}
  		
  		
  		
  		
  	}
  	
  	public function busquedaRapida(){
  	
  	
  		//Validacion del formulario y obtencion de los parametros de busqueda
  		//Para la busqueda sencilla se ingresa el nombre del producto en campo de texto(seria bueno colocar un autocompletar)
  	
  	
  		$this->document->addScript('catalog/view/javascript/jquery/jquery.msgBox.js');
  		$this->document->addScript('catalog/view/javascript/ajaxs.js');
  		$this->document->addStyle('catalog/view/javascript/jquery/msnbox/msgBoxLight.css');
  	
  	
  	
  		//	$this->load->model('catalog/category'); por el momento no la ocupo
  	
  		$this->load->model('catalog/product');
  	
  		$this->load->model('tool/image');
  	
  		//nombre del producto por la busqueda rapida
  	
  		if (isset($this->request->get['nombreProducto'])) {
  				
  				
  			$search = $this->request->get['nombreProducto'];
  		} else {
  			$search = '';
  		}

  		if (isset($this->request->get['tag'])) {
  			$tag = $this->request->get['tag'];
  		} elseif (isset($this->request->get['nombreProducto'])) {
  			$tag = $this->request->get['nombreProducto'];
  		} else {
  			$tag = '';
  		} 			

  		
  		if (isset($this->request->get['page'])) {
  			$page = $this->request->get['page'];
  		} else {
  			$page = 1;
  		}
  	
  		if (isset($this->request->get['limit'])) {
  			$limit = $this->request->get['limit'];
  		} else {
  			$limit = $this->config->get('config_catalog_limit');
  		}
  	
  		//Para titulo de la pagina de busqueda
  		if (isset($this->request->get['nombreProducto'])) {
  			$this->document->setTitle('Busqueda' .  ' - ' . $this->request->get['nombreProducto']);
  		} else {
  			$this->document->setTitle('Busqueda');
  		}
  	
  		$this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js');
  	
  		$this->data['breadcrumbs'] = array();
  	
  		$this->data['breadcrumbs'][] = array(
  				'text'      => 'Inicio',
  				'href'      => $this->url->link('common/home'),
  				'separator' => false
  		);
  	
  		$url = '';
  	
  		if (isset($this->request->get['nombreProducto'])) {
  			$url .= '&nombreProducto=' . urlencode(html_entity_decode($this->request->get['nombreProducto'], ENT_QUOTES, 'UTF-8'));
  		}
  	
  		if (isset($this->request->get['tag'])) {
  			$url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
  		}
  	
  	
  	
  		if (isset($this->request->get['page'])) {
  			$url .= '&page=' . $this->request->get['page'];
  		}
  	
  		if (isset($this->request->get['limit'])) {
  			$url .= '&limit=' . $this->request->get['limit'];
  		}
  	
  		$this->data['breadcrumbs'][] = array(
  				'text'      => 'Inicio',
  				'href'      => $this->url->link('module/buscador/busquedaRapida', $url),
  				'separator' => $this->language->get('text_separator')
  		);
  	
  		if (isset($this->request->get['nombreProducto'])) {
  			$this->data['heading_title'] = 'Busqueda' .  ' - ' . $this->request->get['nombreProducto'];
  		} else {
  			$this->data['heading_title'] = 'Busqueda';
  		}
  	
  		$this->load->model('catalog/category');
  		 
  		 
  	
  	
  	
  		$this->data['products'] = array();
  	
  	
  			
  		if (isset($this->request->get['nombreProducto']) || isset($this->request->get['filter_tag'])) {
  			$data = array(
  					'nombreProducto'         => $search,
  					'filter_tag'          => $tag,
  					'start'               => ($page - 1) * $limit,
  					'limit'               => $limit
  					
  	
  			);
  	
  			$product_total = $this->model_catalog_product->totalProductosBuscador($data);
  				
  			$this->data['product_total'] = $product_total;
  			//$results = $this->model_catalog_product->getProducts($data);  es la consulta de base pero hare pruebas con la consulta de abajo
  			$results = $this->model_catalog_product->buscarProductosPorNombre($data);
  			//var_dump($results );
  			foreach ($results as $result) {
  				if ($result['image']) {
  					$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
  				} else {
  					$image = false;
  				}
  	
  				if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
  					$price = $this->currency->format($this->tax->calculate($result['price'], 0.23, $this->config->get('config_tax')));
  				} else {
  					$price = false;
  				}
  	
  	
  	
  	
  					
  				$this->data['products'][] = array(
  						'boton_venta' => $result['boton_venta'],
  						'product_id'  => $result['product_id'],
  						'thumb'       => $image,
  						'name'        => $result['name'],
  						'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
  						'price'       => $price,
  						'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'] . $url)
  				);
  			}
  	
  			$url = '';
  	
  			if (isset($this->request->get['nombreProducto'])) {
  				$url .= '&nombreProducto=' . urlencode(html_entity_decode($this->request->get['nombreProducto'], ENT_QUOTES, 'UTF-8'));
  			}
  	
  			if (isset($this->request->get['tag'])) {
  				$url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
  			}
  				
  	
  			if (isset($this->request->get['limit'])) {
  				$url .= '&limit=' . $this->request->get['limit'];
  			}
  	
  				
  	
  				
  	
  			$url = '';
  	
  			if (isset($this->request->get['nombreProducto'])) {
  				$url .= '&nombreProducto=' . urlencode(html_entity_decode($this->request->get['nombreProducto'], ENT_QUOTES, 'UTF-8'));
  			}
  	
  			if (isset($this->request->get['tag'])) {
  				$url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
  			}
  	
  				
  	
  			$this->data['limits'] = array();
  	
  			$limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100));
  	
  			sort($limits);
  	
  			foreach($limits as $limits){
  				$this->data['limits'][] = array(
  						'text'  => $limits,
  						'value' => $limits,
  						'href'  => $this->url->link('product/buscador/busquedaRapida', $url . '&limit=' . $limits)
  				);
  			}
  	
  			$url = '';
  	
  			if (isset($this->request->get['nombreProducto'])) {
  				$url .= '&nombreProducto=' . urlencode(html_entity_decode($this->request->get['nombreProducto'], ENT_QUOTES, 'UTF-8'));
  			}
  	
  			if (isset($this->request->get['tag'])) {
  				$url .= '&tag=' . urlencode(html_entity_decode($this->request->get['filter_tag'], ENT_QUOTES, 'UTF-8'));
  			}
  	
  				
  	
  				
  	
  			if (isset($this->request->get['limit'])) {
  				$url .= '&limit=' . $this->request->get['limit'];
  			}
  	
  			$pagination = new Pagination();
  			$pagination->total = $product_total;
  			$pagination->page = $page;
  			$pagination->limit = $limit;
  			$pagination->text = $this->language->get('text_pagination');
  			$pagination->url = $this->url->link('module/buscador/busquedaRapida', $url . '&page={page}');
  	
  			$this->data['pagination'] = $pagination->render();
  		}
  	
  	
  		$this->data['limit'] = $limit;
  	
  	
  	
  	
  	
  			
  		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/buscador_resultado.tpl')) {
  			$this->template = $this->config->get('config_template') . '/template/module/buscador_resultado.tpl';
  		} else {
  			$this->template = 'default/template/module/buscador_resultado.tpl';
  		}
  			
  		$this->children = array(
  				'common/column_left',
  				'common/column_right',
  				'common/content_top',
  				'common/content_bottom',
  				'common/footer',
  				'common/header'
  		);
  			
  		$this->response->setOutput($this->render());
  	
  	
  	
  	
  	}
  	
  	
  	
  	public function obtenerMarcasSubcategoria(){
  		
  		$json = array();
  		$this->data['marcasSubcategorias'][] = array();
  		$this->load->model('catalog/category');
  		
  		//obtiene las categorias o subcategorias
  		
  		 			
  		
  		$marcasSubcategorias = $this->model_catalog_category->getCategories((int)$this->request->get['category_id']);
  		
  		foreach ($marcasSubcategorias as $marcaSubcategoria) {
  		
  			$this->data['marcasSubcategorias'][] = array(
  					'category_id' => $marcaSubcategoria['category_id'],
  					'name'        => $marcaSubcategoria['name']
  						
  			);
  				
  		}
  		
  		
  		if ($marcasSubcategorias) {
  		
  		
  			$json = $marcasSubcategorias;  //Esto mandara del tipo de producto el primer nivel de la categoria
  		}
  			
  		$this->response->setOutput(json_encode($json));
  		
  		
  		
  	}
  	
  	public function buscarPorTipoProducto(){
  		
  		$this->load->model('catalog/category');
  		
  		
  		$url ='';
  		$tipo_producto=0;
  		if (isset($this->request->get['tipo_producto'])) {
  			$tipo_producto = (int)$this->request->get['tipo_producto'];
  		}
  		
  		
  		$categorias_info = $this->model_category_category->obtenerCategoriasDondePadreIgual($tipo_producto);
  		
  		
  	}
  		
  		
  		
  		
  		
  	
  	
}
?>